﻿//-----------------------------------------------------------------------
// <copyright file="ConflictResolutionMetadata.cs" company="tuliprules.org">
//     Copyright (c) 2010 tuplelister, tuliprules.org.
// </copyright>
// <summary>This is the ConflictResolutionMetadata class.</summary>
//-----------------------------------------------------------------------

namespace Tulip.Engine.Models.ClosedWorld
{
    using System.Collections.Generic;
    using System.ComponentModel;
    using Collections;

    /// <summary>
    /// Represents conflict resolution metadata in the runtime model.
    /// </summary>
    public class ConflictResolutionMetadata : ElementBase
    {
        /// <summary>
        /// Gets the list of conflict resolution strategies.
        /// </summary>
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        public readonly IList<Strategy> Strategies;

        /// <summary>
        /// Gets the list of prioritised agenda lists.
        /// </summary>
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        public readonly IList<AgendaList> AgendaLists;

        /// <summary>
        /// Initializes a new instance of the ConflictResolutionMetadata class.
        /// </summary>
        public ConflictResolutionMetadata()
        {
            this.Strategies = new Strategies();
            this.AgendaLists = new AgendaLists();
        }
    }
}
